/*    */ package system.staros.sblock1;
/*    */ 
/*    */ public abstract class RelationalOpNode extends BinaryOpNode
/*    */ {
/*    */   public RelationalOpNode(SourcePosition paramSourcePosition, String paramString, Node paramNode1, Node paramNode2)
/*    */   {
/* 32 */     super(paramSourcePosition, paramString, paramNode1, paramNode2);
/*    */   }
/*    */ 
/*    */   protected void checkTypes(ZemObject paramZemObject1, ZemObject paramZemObject2) {
/* 36 */     if (!paramZemObject1.getClass().equals(paramZemObject2.getClass()))
/* 37 */       throw new TypeMismatchException(getPosition(), paramZemObject1.getClass(), paramZemObject2.getClass());
/*    */   }
/*    */ 
/*    */   protected int compare(Interpreter paramInterpreter)
/*    */   {
/* 42 */     ZemObject localZemObject1 = getLeft().eval(paramInterpreter);
/* 43 */     ZemObject localZemObject2 = getRight().eval(paramInterpreter);
/* 44 */     checkTypes(localZemObject1, localZemObject2);
/*    */     try {
/* 46 */       return localZemObject1.compareTo(localZemObject2); } catch (UnsupportedOperationException localUnsupportedOperationException) {
/*    */     }
/* 48 */     throw new InvalidOperatorException(getPosition());
/*    */   }
/*    */ 
/*    */   protected ZemBoolean equals(Interpreter paramInterpreter)
/*    */   {
/* 53 */     ZemObject localZemObject1 = getLeft().eval(paramInterpreter);
/* 54 */     ZemObject localZemObject2 = getRight().eval(paramInterpreter);
/* 55 */     checkTypes(localZemObject1, localZemObject2);
/* 56 */     return ZemBoolean.valueOf(localZemObject1.equals(localZemObject2));
/*    */   }
/*    */ }

/* Location:           D:\Марк\!IMPORTANT\staros\archive\version-2.260.zip
 * Qualified Name:     system.staros.sblock1.RelationalOpNode
 * JD-Core Version:    0.6.1
 */